PlantUML ユースケース図
ユースケース
()で囲めばユースケースになる
code:usecase.puml
@startuml
(usecase)
@enduml
↓
https://scrapbox.io/files/633d88a35f407b001de7af7a.png
クオートで記述することもできる
usecaseを使ったほうがいい
code:usecase-quote.puml
@startuml
usecase UC1 as "クオートによるユースケース
改行もできる"
@enduml
↓
https://scrapbox.io/files/633d8cfdb4ef9d001dce1556.png
区切り記号も利用できる
code:usecase-sep.puml
@startuml
usecase UC1 as "ユースケース1
--
区切り1
__
区切り2
==
区切り3
..
区切り4
--区切り記号で囲めば--
__このように__
==間に文字を==
..入れられる..
"
@enduml
↓
https://scrapbox.io/files/633d8de1855aaa001dc7290a.png
アクター
::で囲めばアクターになる
code:usecase-actor.puml
@startuml
:Actor:
@enduml
↓
https://scrapbox.io/files/633d8928e6d6a10022c55fe9.png
アクターのスタイルは変更できる
skinparam actorStyle awesome→awesome manスタイル
https://scrapbox.io/files/633d8b3ced9f55001d933d8e.png
skinparam actorStyle hollow→hollow manスタイル
https://scrapbox.io/files/633d8b4b9146930021ed4435.png
*個人的には棒人間のままが好き
エイリアス
ユースケースやアクター記述のあとにasをつければエイリアスになる
結果表示には影響しない
これはユースケースの関係を定義するときに利用できる
code:usecase-alias.puml
@startuml
(Usecase) as (Use)
:Actor: as act
@enduml
↓
https://scrapbox.io/files/633d8a3db4ef9d001dcdf8e2.png
パッケージ
packageで定義し、中括弧で囲めば、パッケージ内を定義できる
code:usecase-package.puml
@startuml
package 〇〇パッケージ {
(ユースケース1)
(ユースケース2)
}
@enduml
↓
https://scrapbox.io/files/633d8ebb1b49e40022a892a2.png
rectangleで四角囲いで定義できる
code:usecase-rectangle.puml
@startuml
rectangle 〇〇システム {
(ユースケース1)
(ユースケース2)
}
@enduml
↓
https://scrapbox.io/files/633d8f51b4ef9d001dce294f.png
ユースケースとアクターをつなげる
->でユースケースとアクターを繋げられる
->のハイフン部分を長く(例: --->)すれば、矢印を長くさせることができる
逆方向(<-)もOK
code:usecase-connect.puml
@startuml
:アクター: as Actor
(ユースケース1) as (UC1)
Actor -> (UC1)
@enduml
↓
https://scrapbox.io/files/633d8ff44a3177001d82561c.png
方向を変える
left、up、right、downで線の方向を変えられる
code:usecase-direction.puml
@startuml
:ユーザー: as User
(ユースケース) as (Use)
User -down-> (Use)
@enduml
↓
https://scrapbox.io/files/633fcdd75c7ee2001d19e8dd.png
継承
-|>で継承として繋げられる
逆もOK
code:usecase-inherit.puml
@startuml
:ユーザー: as User
:管理者: as Admin
User <|- Admin
@enduml
↓
https://scrapbox.io/files/633d913b150faa001d562cd9.png
ノート
note "<コメント>" as <エイリアス>でノートを作れる
code:usecase-comment.puml
@startuml
note "hogehoge" as Hoge
@enduml
↓
https://scrapbox.io/files/633f9537139841001d16997f.png
note <left|right|top|bottom> of <オブジェクト名> : <ノート>でオブジェクトに対してノートを付けられる
code:usecase-noteof.puml
@startuml
:ユーザー: as User
note left of User : This is Note.
@enduml
↓
https://scrapbox.io/files/633f952ac30775001d1d5e87.png
複数行として書くなら↓
code:usecase-multiple.puml
@startuml
:User: as User
note right of User
This is multiple line note
hogehoge
end note
@enduml
↓
https://scrapbox.io/files/633f96ec09d6d3002302f70d.png
ステレオタイプ
<< >>で囲めばステレオタイプを定義できる
code:usecase-stereo.puml
@startuml
:ユーザー: << 人 >>
(ユースケース) << Usecase >>
@enduml
↓
https://scrapbox.io/files/633fcc90cedf1a0022e347be.png
図を分割
newpageで図を分割できる
分割した場合、newpage以前の内容は引き継がれない
code:usecase-newpage.puml
@startuml
:ユーザー: as User
(ユースケース) as (Use)
User -down-> (Use)
newpage
:User: as User
(Usecase) as (Use)
User -down-> (Use)
@enduml
↓
https://scrapbox.io/files/633fcdd75c7ee2001d19e8dd.png
https://scrapbox.io/files/633fce86b31bcb0022071285.png
作図方向の変更
作図方向の変更をすることができる
デフォルトでは上から下の方向(top to bottom direction)
code:usecase-direction-top-bottom.puml
@startuml
top to bottom direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
↓
https://scrapbox.io/files/633fcf66f19a7a001f20e253.png
左から右の方向にする場合はleft to right directionを使う
code:usecase-direction-left-right.puml
@startuml
left to right direction
user1 --> (Usecase 1)
user2 --> (Usecase 2)
@enduml
↓
https://scrapbox.io/files/633fcf7da2976a001defd56c.png
他にももう少しあるが、とりあえず触るべきところだけに絞った